In general, a computer system is comprised of a memory for holding data and programs, a processor for executing the programs or operating on the data held in memory, and an input/output device for facilitating communications between the computer system and a user. There are several different types of digital memories available for use in the memory portion of a computer system. In many instances, the particular application in which the computer system is intended to be used dictates the type of memory that is appropriate for all or a portion of the memory of the computer system. For instance, one application for a computer system in which an nvSRAM may be appropriate is in a portable computer system. Portable computer systems are generally designed to operate, if needed, with power supplied by a battery housed within the system. If the battery becomes incapable of providing power to the system and an alternative source of power is not available, the data held in memory could be come irretrievably lost. In such applications, it is desirable to use an nvSRAM because the static random access memory (SRAM) portion is capable of retaining the data while power is present and providing the performance needed during normal operations, and the non-volatile memory (nv) portion is capable of retaining data for an extended period of time after power has been removed and once power is restored, reestablishing the data in the SRAM portion.
A basic nvSRAM memory device is comprised of (1) a plurality of nvSRAM memory cells; and (2) a controller for managing the operations of the nvSRAM memory cells. The nvSRAM cell is comprised of a static random access memory cell and a nonvolatile memory cell. Briefly, the terms "random access memory" and "RAM" refer to the ability to access any one of a plurality of cells in the memory at any time to write/read data to/from the accessed cell. In contrast, other types of memory require that other memory locations be traversed before the desired memory location can be accessed. These types of memories (magnetic tape, for example) are typically much slower than a random access memories. The term "static" refers to the ability of the memory to retain data as long as power is being supplied. In contrast, the term "dynamic" refers to memories that retain data as long as power is being supplied and the memory is periodically refreshed. The term non-volatile refers to the ability of a memory cell to retain data in the absence of power.
The SRAM memory cell in an nvSRAM cell is capable of communicating a bit of data to and from an exterior environment. Additionally, the SRAM memory cell can provide the nv memory cell with a copy of the bit of data, thereby providing backup storage to the SRAM cell in the event power is removed from the nvSRAM cell. The SRAM cell, as long as power is being provided, is capable of: (1) receiving a bit of data from an exterior environment; (2) retaining the bit of data; and (3) transmitting the bit of data back to the exterior environment. If, however, power is removed from the SRAM memory cell, the SRAM memory cell will lose the bit of data. The nv cell prevents this by loss by providing a backup to the SRAM memory cell. In backing up the SRAM memory cell, the nv memory cell provides the ability to: (1) receive a copy of the bit of data stored in the SRAM memory cell; (2) retain the bit of data in the absence of power being provided to the nvSRAM memory cell; and (3) return the bit of data to the SRAM cell when power is present. The copying of a bit of data from the SRAM memory cell into the nv memory cell is referred to as a store operation. The store operation has two phases, an erase phase and a program phase. In the erase phase, the nv memory cell is conditioned so that it can accept a copy of the bit of data presently retained in the SRAM memory cell. The program phase involves copying the bit of data in the SRAM memory cell to the nv memory cell. Returning a previously copied bit of data from the nv memory cell to the SRAM memory cell is referred to as a recall operation.